Single cell seq after sorting for PhenoID
sample1 = Neurons1 sample2 = Neurons2 sample3 = Glia1 - Astrocytes (CD44+) sample4 = Glia2 - Radial Glia (CD44-)
In HPC I have run steps of scrnabox (custom pipeline in progress) 1. Cell Ranger for feature seq 2. Create Seurat Objects 3. Apply minimum filtering and calculate percent mitochondria.
I have technical 3 replicates with hashtag labels at this point I haven’t yet demultiplex the hashtags. The data here will be treated as one sample. I sorted three separate samples and pooled them together.
# set up the environment
Warning message:
R graphics engine version 15 is not supported by this version of RStudio. The Plots tab will be disabled until a newer version of RStudio is installed.
library(Seurat)
Registered S3 method overwritten by 'data.table':
method from
print.data.table
Attaching SeuratObject
Attaching sp
library(dplyr)
Attaching package: ‘dplyr’
The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
library(Matrix)
library(ggplot2)
rm(list = ls())
Read in the seurat objects made in compute canada
Glia2 <- readRDS(paste(pathway,"seu4.rds",sep = ""))
Neurons1
An object of class Seurat
33541 features across 3952 samples within 2 assays
Active assay: RNA (33538 features, 0 variable features)
1 other assay present: HTO
Neurons2
An object of class Seurat
33541 features across 34830 samples within 2 assays
Active assay: RNA (33538 features, 0 variable features)
1 other assay present: HTO
Glia1
An object of class Seurat
33541 features across 54723 samples within 2 assays
Active assay: RNA (33538 features, 0 variable features)
1 other assay present: HTO
Glia2
An object of class Seurat
33541 features across 10338 samples within 2 assays
Active assay: RNA (33538 features, 0 variable features)
1 other assay present: HTO
Have a look at the objects that already have some filtering
See the violin plots
VlnPlot(Neurons1, pt.size = 0.10, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3)
VlnPlot(Neurons1, pt.size = 0.10, features = c("nFeature_RNA"), y.max = 500)
Warning: Removed 873 rows containing non-finite values (stat_ydensity).
Warning: Removed 873 rows containing missing values (geom_point).
VlnPlot(Neurons1, pt.size = 0.10, features = c("nCount_RNA"), y.max = 2000)
Warning: Removed 546 rows containing non-finite values (stat_ydensity).
Warning: Removed 546 rows containing missing values (geom_point).
# filter more cells
Neuron1.ft <- subset(Neurons1, subset = nFeature_RNA > 250 & nCount_RNA > 250 & nCount_RNA < 10000)
Neuron1.ft
An object of class Seurat
33541 features across 1833 samples within 2 assays
Active assay: RNA (33538 features, 0 variable features)
1 other assay present: HTO
Neurons 2 - CD56++
VlnPlot(Neurons2, pt.size = 0.10, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3)
VlnPlot(Neurons2, pt.size = 0.10, features = c("nFeature_RNA"), y.max = 500)
Warning: Removed 5653 rows containing non-finite values (stat_ydensity).
Warning: Removed 5653 rows containing missing values (geom_point).
VlnPlot(Neurons2, pt.size = 0.10, features = c("nFeature_RNA"), y.max = 1000)
Warning: Removed 2379 rows containing non-finite values (stat_ydensity).
Warning: Removed 2379 rows containing missing values (geom_point).
VlnPlot(Neurons2, pt.size = 0.10, features = c("nCount_RNA"), y.max = 2000)
Warning: Removed 2264 rows containing non-finite values (stat_ydensity).
Warning: Removed 2264 rows containing missing values (geom_point).
# filter more cells
Neuron2.ft <- subset(Neurons2, subset = nFeature_RNA > 500 & nCount_RNA > 500 & nCount_RNA < 10000)
Neuron2.ft
An object of class Seurat
33541 features across 5190 samples within 2 assays
Active assay: RNA (33538 features, 0 variable features)
1 other assay present: HTO
Glia1 - Astrocyte data
Glia1
An object of class Seurat
33541 features across 54723 samples within 2 assays
Active assay: RNA (33538 features, 0 variable features)
1 other assay present: HTO
Glia2 - Radial Glia
## Filter Glia 2
VlnPlot(Glia2, pt.size = 0.10, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3)
VlnPlot(Glia2, pt.size = 0.10, features = c("nFeature_RNA"), y.max = 5000)
Warning: Removed 61 rows containing non-finite values (stat_ydensity).
Warning: Removed 61 rows containing missing values (geom_point).
VlnPlot(Glia2, pt.size = 0.10, features = c("nFeature_RNA"), y.max = 1000)
Warning: Removed 2435 rows containing non-finite values (stat_ydensity).
Warning: Removed 2435 rows containing missing values (geom_point).
VlnPlot(Glia2, pt.size = 0.10, features = c("nCount_RNA"), y.max = 1000)
Warning: Removed 3194 rows containing non-finite values (stat_ydensity).
Warning: Removed 3194 rows containing missing values (geom_point).
VlnPlot(Glia2, pt.size = 0.10, features = c("nCount_RNA"), y.max = 12000)
Warning: Removed 199 rows containing non-finite values (stat_ydensity).
Warning: Removed 199 rows containing missing values (geom_point).
# extreme filter
Glia2.ft <- subset(Glia1, subset = nFeature_RNA > 500 & nCount_RNA > 500 & nCount_RNA < 10000)
Glia2.ft
An object of class Seurat
33541 features across 37813 samples within 2 assays
Active assay: RNA (33538 features, 0 variable features)
1 other assay present: HTO
VlnPlot(Glia1.ft, pt.size = 0.10, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3)
NA
NA
NA
NA
Analyze each dataset - get clusters
plot3 <- ElbowPlot(seu,ndims = 50)
plot3
plot2
Warning: Transformation introduced infinite values in continuous x-axis
Warning: Removed 13701 rows containing missing values (geom_point).
plot
# umap
seu <- RunUMAP(seu, reduction = "pca", n.neighbors = 43, dims = 1:25)
Warning: The default method for RunUMAP has changed from calling Python UMAP via reticulate to the R-native UWOT using the cosine metric
To use Python UMAP via reticulate, set umap.method to 'umap-learn' and metric to 'correlation'
This message will be shown once per session
21:40:56 UMAP embedding parameters a = 0.9922 b = 1.112
21:40:56 Read 1833 rows and found 25 numeric columns
21:40:56 Using Annoy for neighbor search, n_neighbors = 43
21:40:56 Building Annoy index with metric = cosine, n_trees = 50
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
21:40:56 Writing NN index file to temp file /var/folders/k4/khtkczkd5tn732ftjpwgtr240000gn/T//RtmpgWVi60/file1138f299a329a
21:40:56 Searching Annoy index using 1 thread, search_k = 4300
21:40:56 Annoy recall = 100%
21:40:56 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 43
21:40:57 Initializing from normalized Laplacian + noise (using irlba)
21:40:57 Commencing optimization for 500 epochs, with 107418 positive edges
Using method 'umap'
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
21:41:00 Optimization finished
DimPlot(seu, reduction = "umap", group.by = "orig.ident")
NA
NA
NA
Make the clusters Neurons1
Find the cluster markers for Neurons1
Idents(seu) <- 'RNA_snn_res.0.2'
ClusterMarkers <- FindAllMarkers(seu)
Calculating cluster 0
| | 0 % ~calculating
|+ | 1 % ~10s
|++ | 2 % ~09s
|++ | 3 % ~09s
|+++ | 4 % ~09s
|+++ | 5 % ~09s
|++++ | 6 % ~09s
|++++ | 7 % ~09s
|+++++ | 8 % ~08s
|+++++ | 9 % ~08s
|++++++ | 10% ~09s
|++++++ | 11% ~08s
|+++++++ | 12% ~08s
|+++++++ | 13% ~08s
|++++++++ | 14% ~08s
|++++++++ | 15% ~08s
|+++++++++ | 16% ~08s
|+++++++++ | 17% ~08s
|++++++++++ | 18% ~08s
|++++++++++ | 19% ~07s
|+++++++++++ | 20% ~07s
|+++++++++++ | 21% ~07s
|++++++++++++ | 22% ~07s
|++++++++++++ | 23% ~07s
|+++++++++++++ | 24% ~07s
|+++++++++++++ | 26% ~07s
|++++++++++++++ | 27% ~07s
|++++++++++++++ | 28% ~07s
|+++++++++++++++ | 29% ~07s
|+++++++++++++++ | 30% ~06s
|++++++++++++++++ | 31% ~06s
|++++++++++++++++ | 32% ~06s
|+++++++++++++++++ | 33% ~06s
|+++++++++++++++++ | 34% ~06s
|++++++++++++++++++ | 35% ~06s
|++++++++++++++++++ | 36% ~06s
|+++++++++++++++++++ | 37% ~06s
|+++++++++++++++++++ | 38% ~06s
|++++++++++++++++++++ | 39% ~06s
|++++++++++++++++++++ | 40% ~05s
|+++++++++++++++++++++ | 41% ~05s
|+++++++++++++++++++++ | 42% ~05s
|++++++++++++++++++++++ | 43% ~05s
|++++++++++++++++++++++ | 44% ~05s
|+++++++++++++++++++++++ | 45% ~05s
|+++++++++++++++++++++++ | 46% ~05s
|++++++++++++++++++++++++ | 47% ~05s
|++++++++++++++++++++++++ | 48% ~05s
|+++++++++++++++++++++++++ | 49% ~05s
|+++++++++++++++++++++++++ | 50% ~05s
|++++++++++++++++++++++++++ | 51% ~04s
|+++++++++++++++++++++++++++ | 52% ~04s
|+++++++++++++++++++++++++++ | 53% ~04s
|++++++++++++++++++++++++++++ | 54% ~04s
|++++++++++++++++++++++++++++ | 55% ~04s
|+++++++++++++++++++++++++++++ | 56% ~04s
|+++++++++++++++++++++++++++++ | 57% ~04s
|++++++++++++++++++++++++++++++ | 58% ~04s
|++++++++++++++++++++++++++++++ | 59% ~04s
|+++++++++++++++++++++++++++++++ | 60% ~04s
|+++++++++++++++++++++++++++++++ | 61% ~04s
|++++++++++++++++++++++++++++++++ | 62% ~03s
|++++++++++++++++++++++++++++++++ | 63% ~03s
|+++++++++++++++++++++++++++++++++ | 64% ~03s
|+++++++++++++++++++++++++++++++++ | 65% ~03s
|++++++++++++++++++++++++++++++++++ | 66% ~03s
|++++++++++++++++++++++++++++++++++ | 67% ~03s
|+++++++++++++++++++++++++++++++++++ | 68% ~03s
|+++++++++++++++++++++++++++++++++++ | 69% ~03s
|++++++++++++++++++++++++++++++++++++ | 70% ~03s
|++++++++++++++++++++++++++++++++++++ | 71% ~03s
|+++++++++++++++++++++++++++++++++++++ | 72% ~02s
|+++++++++++++++++++++++++++++++++++++ | 73% ~02s
|++++++++++++++++++++++++++++++++++++++ | 74% ~02s
|++++++++++++++++++++++++++++++++++++++ | 76% ~02s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~02s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~02s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~02s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~02s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~02s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~02s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~02s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=09s
Calculating cluster 1
| | 0 % ~calculating
|+ | 1 % ~08s
|++ | 2 % ~08s
|++ | 3 % ~08s
|+++ | 4 % ~08s
|+++ | 5 % ~07s
|++++ | 6 % ~07s
|++++ | 7 % ~07s
|+++++ | 8 % ~07s
|+++++ | 9 % ~07s
|++++++ | 10% ~07s
|++++++ | 11% ~07s
|+++++++ | 12% ~07s
|+++++++ | 13% ~07s
|++++++++ | 14% ~07s
|++++++++ | 15% ~07s
|+++++++++ | 16% ~06s
|+++++++++ | 18% ~06s
|++++++++++ | 19% ~06s
|++++++++++ | 20% ~06s
|+++++++++++ | 21% ~06s
|+++++++++++ | 22% ~06s
|++++++++++++ | 23% ~06s
|++++++++++++ | 24% ~06s
|+++++++++++++ | 25% ~06s
|+++++++++++++ | 26% ~06s
|++++++++++++++ | 27% ~06s
|++++++++++++++ | 28% ~06s
|+++++++++++++++ | 29% ~05s
|+++++++++++++++ | 30% ~05s
|++++++++++++++++ | 31% ~05s
|++++++++++++++++ | 32% ~05s
|+++++++++++++++++ | 33% ~05s
|++++++++++++++++++ | 34% ~05s
|++++++++++++++++++ | 35% ~05s
|+++++++++++++++++++ | 36% ~05s
|+++++++++++++++++++ | 37% ~05s
|++++++++++++++++++++ | 38% ~05s
|++++++++++++++++++++ | 39% ~05s
|+++++++++++++++++++++ | 40% ~05s
|+++++++++++++++++++++ | 41% ~05s
|++++++++++++++++++++++ | 42% ~04s
|++++++++++++++++++++++ | 43% ~04s
|+++++++++++++++++++++++ | 44% ~04s
|+++++++++++++++++++++++ | 45% ~04s
|++++++++++++++++++++++++ | 46% ~04s
|++++++++++++++++++++++++ | 47% ~04s
|+++++++++++++++++++++++++ | 48% ~04s
|+++++++++++++++++++++++++ | 49% ~04s
|++++++++++++++++++++++++++ | 51% ~04s
|++++++++++++++++++++++++++ | 52% ~04s
|+++++++++++++++++++++++++++ | 53% ~04s
|+++++++++++++++++++++++++++ | 54% ~04s
|++++++++++++++++++++++++++++ | 55% ~04s
|++++++++++++++++++++++++++++ | 56% ~03s
|+++++++++++++++++++++++++++++ | 57% ~03s
|+++++++++++++++++++++++++++++ | 58% ~03s
|++++++++++++++++++++++++++++++ | 59% ~03s
|++++++++++++++++++++++++++++++ | 60% ~03s
|+++++++++++++++++++++++++++++++ | 61% ~03s
|+++++++++++++++++++++++++++++++ | 62% ~03s
|++++++++++++++++++++++++++++++++ | 63% ~03s
|++++++++++++++++++++++++++++++++ | 64% ~03s
|+++++++++++++++++++++++++++++++++ | 65% ~03s
|+++++++++++++++++++++++++++++++++ | 66% ~03s
|++++++++++++++++++++++++++++++++++ | 67% ~03s
|+++++++++++++++++++++++++++++++++++ | 68% ~02s
|+++++++++++++++++++++++++++++++++++ | 69% ~02s
|++++++++++++++++++++++++++++++++++++ | 70% ~02s
|++++++++++++++++++++++++++++++++++++ | 71% ~02s
|+++++++++++++++++++++++++++++++++++++ | 72% ~02s
|+++++++++++++++++++++++++++++++++++++ | 73% ~02s
|++++++++++++++++++++++++++++++++++++++ | 74% ~02s
|++++++++++++++++++++++++++++++++++++++ | 75% ~02s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~02s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~02s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~02s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~02s
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~02s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=08s
Calculating cluster 2
| | 0 % ~calculating
|+ | 1 % ~06s
|++ | 2 % ~06s
|++ | 3 % ~05s
|+++ | 4 % ~05s
|+++ | 5 % ~05s
|++++ | 6 % ~05s
|++++ | 8 % ~05s
|+++++ | 9 % ~05s
|+++++ | 10% ~05s
|++++++ | 11% ~05s
|++++++ | 12% ~05s
|+++++++ | 13% ~05s
|+++++++ | 14% ~05s
|++++++++ | 15% ~05s
|+++++++++ | 16% ~05s
|+++++++++ | 17% ~04s
|++++++++++ | 18% ~04s
|++++++++++ | 19% ~04s
|+++++++++++ | 20% ~04s
|+++++++++++ | 22% ~04s
|++++++++++++ | 23% ~04s
|++++++++++++ | 24% ~04s
|+++++++++++++ | 25% ~04s
|+++++++++++++ | 26% ~04s
|++++++++++++++ | 27% ~04s
|++++++++++++++ | 28% ~04s
|+++++++++++++++ | 29% ~04s
|++++++++++++++++ | 30% ~04s
|++++++++++++++++ | 31% ~04s
|+++++++++++++++++ | 32% ~04s
|+++++++++++++++++ | 33% ~04s
|++++++++++++++++++ | 34% ~04s
|++++++++++++++++++ | 35% ~04s
|+++++++++++++++++++ | 37% ~03s
|+++++++++++++++++++ | 38% ~03s
|++++++++++++++++++++ | 39% ~03s
|++++++++++++++++++++ | 40% ~03s
|+++++++++++++++++++++ | 41% ~03s
|+++++++++++++++++++++ | 42% ~03s
|++++++++++++++++++++++ | 43% ~03s
|+++++++++++++++++++++++ | 44% ~03s
|+++++++++++++++++++++++ | 45% ~03s
|++++++++++++++++++++++++ | 46% ~03s
|++++++++++++++++++++++++ | 47% ~03s
|+++++++++++++++++++++++++ | 48% ~03s
|+++++++++++++++++++++++++ | 49% ~03s
|++++++++++++++++++++++++++ | 51% ~03s
|++++++++++++++++++++++++++ | 52% ~03s
|+++++++++++++++++++++++++++ | 53% ~03s
|+++++++++++++++++++++++++++ | 54% ~03s
|++++++++++++++++++++++++++++ | 55% ~02s
|++++++++++++++++++++++++++++ | 56% ~02s
|+++++++++++++++++++++++++++++ | 57% ~02s
|++++++++++++++++++++++++++++++ | 58% ~02s
|++++++++++++++++++++++++++++++ | 59% ~02s
|+++++++++++++++++++++++++++++++ | 60% ~02s
|+++++++++++++++++++++++++++++++ | 61% ~02s
|++++++++++++++++++++++++++++++++ | 62% ~02s
|++++++++++++++++++++++++++++++++ | 63% ~02s
|+++++++++++++++++++++++++++++++++ | 65% ~02s
|+++++++++++++++++++++++++++++++++ | 66% ~02s
|++++++++++++++++++++++++++++++++++ | 67% ~02s
|++++++++++++++++++++++++++++++++++ | 68% ~02s
|+++++++++++++++++++++++++++++++++++ | 69% ~02s
|+++++++++++++++++++++++++++++++++++ | 70% ~02s
|++++++++++++++++++++++++++++++++++++ | 71% ~02s
|+++++++++++++++++++++++++++++++++++++ | 72% ~02s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01s
|++++++++++++++++++++++++++++++++++++++ | 74% ~01s
|++++++++++++++++++++++++++++++++++++++ | 75% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=06s
Calculating cluster 3
| | 0 % ~calculating
|+ | 1 % ~09s
|++ | 2 % ~09s
|++ | 3 % ~09s
|+++ | 4 % ~09s
|+++ | 5 % ~09s
|++++ | 6 % ~09s
|++++ | 7 % ~08s
|+++++ | 8 % ~08s
|+++++ | 9 % ~09s
|++++++ | 10% ~09s
|++++++ | 11% ~08s
|+++++++ | 12% ~08s
|+++++++ | 13% ~08s
|++++++++ | 14% ~08s
|++++++++ | 15% ~08s
|+++++++++ | 16% ~08s
|+++++++++ | 18% ~08s
|++++++++++ | 19% ~07s
|++++++++++ | 20% ~07s
|+++++++++++ | 21% ~07s
|+++++++++++ | 22% ~07s
|++++++++++++ | 23% ~07s
|++++++++++++ | 24% ~07s
|+++++++++++++ | 25% ~07s
|+++++++++++++ | 26% ~07s
|++++++++++++++ | 27% ~07s
|++++++++++++++ | 28% ~06s
|+++++++++++++++ | 29% ~06s
|+++++++++++++++ | 30% ~06s
|++++++++++++++++ | 31% ~06s
|++++++++++++++++ | 32% ~06s
|+++++++++++++++++ | 33% ~06s
|++++++++++++++++++ | 34% ~06s
|++++++++++++++++++ | 35% ~06s
|+++++++++++++++++++ | 36% ~06s
|+++++++++++++++++++ | 37% ~06s
|++++++++++++++++++++ | 38% ~06s
|++++++++++++++++++++ | 39% ~05s
|+++++++++++++++++++++ | 40% ~05s
|+++++++++++++++++++++ | 41% ~05s
|++++++++++++++++++++++ | 42% ~05s
|++++++++++++++++++++++ | 43% ~05s
|+++++++++++++++++++++++ | 44% ~05s
|+++++++++++++++++++++++ | 45% ~05s
|++++++++++++++++++++++++ | 46% ~05s
|++++++++++++++++++++++++ | 47% ~05s
|+++++++++++++++++++++++++ | 48% ~05s
|+++++++++++++++++++++++++ | 49% ~04s
|++++++++++++++++++++++++++ | 51% ~04s
|++++++++++++++++++++++++++ | 52% ~04s
|+++++++++++++++++++++++++++ | 53% ~04s
|+++++++++++++++++++++++++++ | 54% ~04s
|++++++++++++++++++++++++++++ | 55% ~04s
|++++++++++++++++++++++++++++ | 56% ~04s
|+++++++++++++++++++++++++++++ | 57% ~04s
|+++++++++++++++++++++++++++++ | 58% ~04s
|++++++++++++++++++++++++++++++ | 59% ~04s
|++++++++++++++++++++++++++++++ | 60% ~04s
|+++++++++++++++++++++++++++++++ | 61% ~03s
|+++++++++++++++++++++++++++++++ | 62% ~03s
|++++++++++++++++++++++++++++++++ | 63% ~03s
|++++++++++++++++++++++++++++++++ | 64% ~03s
|+++++++++++++++++++++++++++++++++ | 65% ~03s
|+++++++++++++++++++++++++++++++++ | 66% ~03s
|++++++++++++++++++++++++++++++++++ | 67% ~03s
|+++++++++++++++++++++++++++++++++++ | 68% ~03s
|+++++++++++++++++++++++++++++++++++ | 69% ~03s
|++++++++++++++++++++++++++++++++++++ | 70% ~03s
|++++++++++++++++++++++++++++++++++++ | 71% ~03s
|+++++++++++++++++++++++++++++++++++++ | 72% ~02s
|+++++++++++++++++++++++++++++++++++++ | 73% ~02s
|++++++++++++++++++++++++++++++++++++++ | 74% ~02s
|++++++++++++++++++++++++++++++++++++++ | 75% ~02s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~02s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~02s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~02s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~02s
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~02s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~02s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~02s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=09s
top5 <- ClusterMarkers %>% group_by(cluster) %>% top_n(n=5, wt = avg_log2FC)
DoHeatmap(seu, features = top5$gene, size=3, angle =90, group.bar.height = 0.02, group.by = 'RNA_snn_res.0.2')
#write.csv(ClusterMarkers, "/Users/rhalenathomas/Documents/Data/scRNAseq/PhenoID/scRNAseqSorted/ClusterMarkers_neurons1_res025.csv")
write.csv(ClusterMarkers, "/Users/rhalenathomas/Documents/Data/scRNAseq/PhenoID/scRNAseqSorted/ClusterMarkers_neurons1_res02.csv")
DimPlot(seu, group.by = 'RNA_snn_res.0.2', reduction = 'umap')
Annotate clusters Use: Organoid data, public brain data (LaManno, Lake, Mascako)
Merge the files
Idents(Neurons1ft) <- 'orig.ident'
Neurons1ft$orig.ident <- 'Neurons1'
Idents(Neurons2ft) <- 'orig.ident'
Neurons2ft$orig.ident <- 'Neurons2'
Idents(Glia1ft) <- 'orig.ident'
Glia1ft$orig.ident <- 'Glia1'
Idents(Glia2ft) <- 'orig.ident'
Glia2ft$orig.ident <- 'Glia2'
sorted.merge <- merge(Neurons1ft, y=c(Neurons2ft,Glia1ft,Glia2ft), add.cell.ids = c("Neurons1","Neurons2","Glia1","Glia2"), project = "SortedCells")
sorted.merge
An object of class Seurat
33544 features across 138206 samples within 2 assays
Active assay: RNA (33538 features, 0 variable features)
1 other assay present: HTO
table(all.ft$orig.ident)
Glia1 Glia2 Neurons1 Neurons2
55268 10429 3418 29575
Prepare for the clustering
all.ft <- ScaleData(all.ft)
Centering and scaling data matrix
|
| | 0%
|
|============================================== | 50%
|
|=============================================================================================| 100%
all.ft <- RunPCA(all.ft)
PC_ 1
Positive: STMN2, CD24, CHGB, CELF4, GRIA2, CACNA2D1, EOMES, INSM1, PCAT4, NEUROD1
MARCH1, GAP43, RASGRP1, MIAT, STMN4, PCSK2, IMPG2, CHGA, INA, MGAT4C
CDHR1, NRN1, GNG8, ST18, IGFBPL1, DDC, LHX1, SLC17A6, NEUROG1, PKIB
Negative: VIM, COL3A1, LGALS1, IGFBP7, DCN, APOE, COL1A1, SPARC, IGFBP4, MDK
TIMP1, GSTP1, HSP90B1, S100A11, COL1A2, IGFBP5, TMSB10, GAPDH, S100A6, SPATS2L
RPL7A, CALD1, ZFP36L1, IGFBP2, RPL10, FTL, SPARCL1, FABP5, S100A10, IFITM3
PC_ 2
Positive: COL3A1, DCN, COL1A1, IGFBP7, COL1A2, APOE, VIM, HPD, IGFBP4, CP
FABP5, FTL, S100A11, S100A6, VCAN, NDUFA4L2, LGALS1, WFIKKN2, COL6A3, MGP
TIMP1, IFITM3, LUM, CYP1B1, RPS12, CRYAB, ID3, CXCL14, WIF1, APOC1
Negative: CELF4, CACNA2D1, INA, STMN2, CHGB, PCDH9, ANK3, MARCH1, EOMES, GRIA2
SOX4, DCX, SSTR2, STMN1, NEUROD1, TENM3, INSM1, ATCAY, OLFM1, STMN4
CRMP1, SYT1, GAP43, ATP1A3, NCKAP5, AMER2, PCLO, ELAVL3, CA10, NRXN1
PC_ 3
Positive: COL3A1, COL1A2, COL1A1, VCAN, COL6A3, S100A4, LUM, DCN, COL4A1, COL4A2
OGN, EDNRA, COL6A1, COL5A2, APOD, PRRX1, COL6A2, IGFBP4, FN1, MFAP4
NDUFA4L2, THY1, TNFAIP6, PCOLCE, COL15A1, COL5A1, IFI16, PLAC9, CD248, BGN
Negative: PTPRZ1, WLS, SOX2, GABBR2, CNTNAP2, SPARCL1, LY6H, CLU, GDF10, CRYAB
SERPINI1, S100B, WNT2B, ESM1, SLC2A1, ITM2C, LIX1, TPBG, RFX4, CBLN1
RSPO2, MEGF10, NELL2, MGST1, SCG2, HPD, VAT1L, ABCA8, PLTP, SLC1A3
PC_ 4
Positive: WFIKKN2, CP, ECEL1, SERPINF1, KRT18, ID1, PCP4, CYP1B1, RBP1, IGFBP7
TPBG, KRT8, FHIT, WIF1, CA2, TMSB4X, BMP4, HPD, FOLR1, CRABP2
SPINT2, EFEMP1, CXCL14, KCNJ13, ASCL1, GPNMB, MDK, EMX2, SLC4A10, RPS12
Negative: PTN, PTPRZ1, GABBR2, MEGF10, DLK1, SCG2, ATP1A2, FN1, SGCD, SOX2
ABCA8, NTRK2, RFX4, ESM1, COL4A1, MARCKS, COL4A2, VCAN, VAT1L, GRIN2A
NRIP3, SCRG1, HAP1, OGN, SORCS2, EDNRB, SFRP2, PLP1, LUM, FFAR4
PC_ 5
Positive: TPBG, FN1, OGN, DKK3, IFI16, MSX1, CXCL14, OLFML2A, CA2, PAPPA2
NID1, SYNE2, ENPP2, SLC4A10, CDC42EP3, KCNJ13, IGF1, GPHN, IGFBP2, ZEB2
EXPH5, NOV, TRPM3, HTR2C, GPNMB, MPZ, CYP1B1, CADM2, SLC5A3, PIK3R1
Negative: APOE, APOC1, DCN, FABP5, DLK1, PTN, KDR, PRSS56, CLU, IGFBP4
BST2, TFPI2, S100A6, PTGDS, CITED4, COL23A1, RPL10, FTL, SLC7A2, IFITM3
FABP4, NDUFA4L2, GNG11, RARRES1, FXYD5, SCG2, WFDC1, TMEM176B, RPL7A, TMEM176A
plot <- VizDimLoadings(all.ft, dims = 1:2, reduction = "pca")
#SaveFigure(plot, "viz_PCA_loadings", width = 10, height = 8)
plot
NA
NA
plot <- DimPlot(all.ft, reduction = "pca", group.by = "orig.ident")
plot
plot <- ElbowPlot(all.ft,ndims = 50)
plot
# best is the
VlnPlot(all.ft, features = c("NCAM1","CD44","CD24","AQP4","TH"), ncol = 3, group.by = 'orig.ident')
The expression of the selected markers are not very revealing - there are neuronal markers in the Glia
I wish I had done an unsorted sample
Now I have all 4 samples I want to try the integration steps
Warning message:
R graphics engine version 15 is not supported by this version of RStudio. The Plots tab will be disabled until a newer version of RStudio is installed.
all.ft <- readRDS("/Users/rhalenathomas/Documents/Data/scRNAseq/PhenoID/scRNAseqSorted/cellrangerOuts/AllcellsObjectSept20filtered.Rds")
Registered S3 method overwritten by 'data.table':
method from
print.data.table
Registered S3 method overwritten by 'htmlwidgets':
method from
print.htmlwidget tools:rstudio
all.int <- IntegrateData(anchorset = all.anchors)
Merging dataset 1 into 2
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 4 into 3
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 2 1 into 3 4
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Now that I have the integrated object I will continue to follow the standard scRNAseq to workflow and identify cell types.
Cluster
all.int <- FindNeighbors(all.int, dims = 1:30, k.param = 275)
Computing nearest neighbor graph
Computing SNN
Try on the not integrated object - just merge
all.ft <- RunUMAP(all.ft, reduction = "pca", n.neighbors = 30, dims = 1:21)
16:34:29 UMAP embedding parameters a = 0.9922 b = 1.112
16:34:29 Read 92644 rows and found 21 numeric columns
16:34:29 Using Annoy for neighbor search, n_neighbors = 30
16:34:29 Building Annoy index with metric = cosine, n_trees = 50
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
16:34:35 Writing NN index file to temp file /var/folders/k4/khtkczkd5tn732ftjpwgtr240000gn/T//RtmpxdKhUe/file114bc936cbd
16:34:35 Searching Annoy index using 1 thread, search_k = 3000
16:35:03 Annoy recall = 100%
16:35:04 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
16:35:08 Initializing from normalized Laplacian + noise (using irlba)
16:35:16 Commencing optimization for 200 epochs, with 4273678 positive edges
Using method 'umap'
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
16:36:16 Optimization finished
DimPlot(all.ft, reduction = "umap", group.by = "orig.ident")
Find the clusters
all.ft <- FindClusters(all.ft, resolution = 0.3)
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 92644
Number of edges: 2838478
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.8755
Number of communities: 9
Elapsed time: 34 seconds
#clustree(all.int, prefix = "RNA_snn_res.")
DimPlot(all.ft, reduction = "umap")
Transfer labels from other Midbrain organoid data (165 days)
# this is the reference data
MBO <- readRDS("/Users/rhalenathomas/Documents/Data/scRNAseq/AST23_BrainComm/MBOclusters_names29072021.rds")
Idents(MBO) <- "cluster_labels"
DefaultAssay(all.ft) <- "RNA"
DefaultAssay(MBO) <- "RNA"
MO.query <- all.ft
# find the reference anchors
print("finding reference anchors")
[1] "finding reference anchors"
MO.anchors <- FindTransferAnchors(reference = MBO ,query = MO.query, dims = 1:30)
Performing PCA on the provided reference using 2000 features as input.
Projecting cell embeddings
Finding neighborhoods
Finding anchors
Found 1965 anchors
Filtering anchors
Retained 588 anchors
# can try a range of dims 20-50
print("getting predictions")
[1] "getting predictions"
predictions <- TransferData(anchorset = MO.anchors, refdata = MBO$cluster_labels)
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Predicting cell labels
MO.query <- AddMetaData(MO.query, metadata = predictions)
print(table(MO.query$predicted.id))
Epithelial Neural Precursors Neurons-DA Neurons-e Oligodendrocytes
1152 396 943 13239 59074
RGa RGd1 RGd2
14 17776 50
See the predictions
DimPlot(MO.query, reduction = "umap", group.by = 'predicted.id')
NA
NA
Some heatmaps
See the usual marker lists - by sorted population, by clusters
Markers.glia1Vs2 <- FindMarkers(all.ft, ident.1 = c('Glia1'), ident.2 = c('Glia2'))
| | 0 % ~calculating
|+ | 1 % ~01m 12s
|+ | 2 % ~01m 12s
|++ | 3 % ~01m 11s
|++ | 4 % ~01m 10s
|+++ | 5 % ~01m 09s
|+++ | 6 % ~01m 08s
|++++ | 7 % ~01m 08s
|++++ | 8 % ~01m 07s
|+++++ | 9 % ~01m 07s
|+++++ | 10% ~01m 06s
|++++++ | 11% ~01m 04s
|++++++ | 12% ~01m 03s
|+++++++ | 13% ~01m 02s
|+++++++ | 14% ~01m 01s
|++++++++ | 15% ~59s
|++++++++ | 16% ~59s
|+++++++++ | 17% ~58s
|+++++++++ | 18% ~57s
|++++++++++ | 19% ~56s
|++++++++++ | 20% ~55s
|+++++++++++ | 21% ~54s
|+++++++++++ | 22% ~53s
|++++++++++++ | 23% ~53s
|++++++++++++ | 24% ~52s
|+++++++++++++ | 25% ~51s
|+++++++++++++ | 26% ~51s
|++++++++++++++ | 27% ~50s
|++++++++++++++ | 28% ~49s
|+++++++++++++++ | 29% ~49s
|+++++++++++++++ | 30% ~48s
|++++++++++++++++ | 31% ~47s
|++++++++++++++++ | 32% ~47s
|+++++++++++++++++ | 33% ~46s
|+++++++++++++++++ | 34% ~45s
|++++++++++++++++++ | 35% ~45s
|++++++++++++++++++ | 36% ~44s
|+++++++++++++++++++ | 37% ~43s
|+++++++++++++++++++ | 38% ~42s
|++++++++++++++++++++ | 39% ~42s
|++++++++++++++++++++ | 40% ~41s
|+++++++++++++++++++++ | 41% ~41s
|+++++++++++++++++++++ | 42% ~40s
|++++++++++++++++++++++ | 43% ~39s
|++++++++++++++++++++++ | 44% ~38s
|+++++++++++++++++++++++ | 45% ~38s
|+++++++++++++++++++++++ | 46% ~37s
|++++++++++++++++++++++++ | 47% ~36s
|++++++++++++++++++++++++ | 48% ~36s
|+++++++++++++++++++++++++ | 49% ~35s
|+++++++++++++++++++++++++ | 50% ~34s
|++++++++++++++++++++++++++ | 51% ~34s
|++++++++++++++++++++++++++ | 52% ~33s
|+++++++++++++++++++++++++++ | 53% ~32s
|+++++++++++++++++++++++++++ | 54% ~32s
|++++++++++++++++++++++++++++ | 55% ~31s
|++++++++++++++++++++++++++++ | 56% ~30s
|+++++++++++++++++++++++++++++ | 57% ~30s
|+++++++++++++++++++++++++++++ | 58% ~29s
|++++++++++++++++++++++++++++++ | 59% ~28s
|++++++++++++++++++++++++++++++ | 60% ~28s
|+++++++++++++++++++++++++++++++ | 61% ~27s
|+++++++++++++++++++++++++++++++ | 62% ~26s
|++++++++++++++++++++++++++++++++ | 63% ~26s
|++++++++++++++++++++++++++++++++ | 64% ~25s
|+++++++++++++++++++++++++++++++++ | 65% ~24s
|+++++++++++++++++++++++++++++++++ | 66% ~24s
|++++++++++++++++++++++++++++++++++ | 67% ~23s
|++++++++++++++++++++++++++++++++++ | 68% ~22s
|+++++++++++++++++++++++++++++++++++ | 69% ~21s
|+++++++++++++++++++++++++++++++++++ | 70% ~21s
|++++++++++++++++++++++++++++++++++++ | 71% ~20s
|++++++++++++++++++++++++++++++++++++ | 72% ~19s
|+++++++++++++++++++++++++++++++++++++ | 73% ~19s
|+++++++++++++++++++++++++++++++++++++ | 74% ~18s
|++++++++++++++++++++++++++++++++++++++ | 75% ~17s
|++++++++++++++++++++++++++++++++++++++ | 76% ~17s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~16s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~15s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~14s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~14s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~13s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~12s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~12s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~11s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~10s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~10s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~09s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~08s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~08s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~07s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=01m 09s
# Compare Neurons1 vs Neurons2
Markers.neurons1vs2 <- FindMarkers(all.ft, ident.1 = c('Neurons1'), ident.2 = c('Neurons2'))
For a more efficient implementation of the Wilcoxon Rank Sum Test,
(default method for FindMarkers) please install the limma package
--------------------------------------------
install.packages('BiocManager')
BiocManager::install('limma')
--------------------------------------------
After installation of limma, Seurat will automatically use the more
efficient implementation (no further action necessary).
This message will be shown once per session
| | 0 % ~calculating
|+ | 1 % ~17s
|++ | 3 % ~17s
|++ | 4 % ~17s
|+++ | 5 % ~17s
|++++ | 6 % ~16s
|++++ | 8 % ~16s
|+++++ | 9 % ~16s
|++++++ | 10% ~16s
|++++++ | 12% ~16s
|+++++++ | 13% ~16s
|++++++++ | 14% ~15s
|++++++++ | 16% ~15s
|+++++++++ | 17% ~15s
|++++++++++ | 18% ~15s
|++++++++++ | 19% ~15s
|+++++++++++ | 21% ~14s
|++++++++++++ | 22% ~14s
|++++++++++++ | 23% ~14s
|+++++++++++++ | 25% ~14s
|+++++++++++++ | 26% ~14s
|++++++++++++++ | 27% ~13s
|+++++++++++++++ | 29% ~13s
|+++++++++++++++ | 30% ~13s
|++++++++++++++++ | 31% ~13s
|+++++++++++++++++ | 32% ~12s
|+++++++++++++++++ | 34% ~12s
|++++++++++++++++++ | 35% ~12s
|+++++++++++++++++++ | 36% ~12s
|+++++++++++++++++++ | 38% ~11s
|++++++++++++++++++++ | 39% ~11s
|+++++++++++++++++++++ | 40% ~11s
|+++++++++++++++++++++ | 42% ~11s
|++++++++++++++++++++++ | 43% ~11s
|+++++++++++++++++++++++ | 44% ~10s
|+++++++++++++++++++++++ | 45% ~10s
|++++++++++++++++++++++++ | 47% ~10s
|+++++++++++++++++++++++++ | 48% ~10s
|+++++++++++++++++++++++++ | 49% ~09s
|++++++++++++++++++++++++++ | 51% ~09s
|++++++++++++++++++++++++++ | 52% ~09s
|+++++++++++++++++++++++++++ | 53% ~09s
|++++++++++++++++++++++++++++ | 55% ~08s
|++++++++++++++++++++++++++++ | 56% ~08s
|+++++++++++++++++++++++++++++ | 57% ~08s
|++++++++++++++++++++++++++++++ | 58% ~08s
|++++++++++++++++++++++++++++++ | 60% ~07s
|+++++++++++++++++++++++++++++++ | 61% ~07s
|++++++++++++++++++++++++++++++++ | 62% ~07s
|++++++++++++++++++++++++++++++++ | 64% ~07s
|+++++++++++++++++++++++++++++++++ | 65% ~06s
|++++++++++++++++++++++++++++++++++ | 66% ~06s
|++++++++++++++++++++++++++++++++++ | 68% ~06s
|+++++++++++++++++++++++++++++++++++ | 69% ~06s
|++++++++++++++++++++++++++++++++++++ | 70% ~05s
|++++++++++++++++++++++++++++++++++++ | 71% ~05s
|+++++++++++++++++++++++++++++++++++++ | 73% ~05s
|++++++++++++++++++++++++++++++++++++++ | 74% ~05s
|++++++++++++++++++++++++++++++++++++++ | 75% ~05s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~04s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~04s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~04s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~04s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~03s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~03s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~03s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~03s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=18s
Check cell types using EnrichR